home *** CD-ROM | disk | FTP | other *** search
Text File | 1999-02-04 | 17.9 KB | 1,314 lines |
-
- ; Storm C Compiler
- ; Work2:Mesa3/Mesa-3.0/src/logic.c
- mc68030
- mc68881
- XREF _gl_read_rgba_span
- XREF _gl_error
- XREF _gl_problem
- XREF _gl_read_alpha_pixels
- XREF _CC
-
- SECTION "_gl_LogicOp:0",CODE
-
-
- ;void gl_LogicOp( GLcontext *ctx, GLenum opcode )
- XDEF _gl_LogicOp
- _gl_LogicOp
- move.l $8(a7),d0
- move.l 4(a7),a0
- L163
- ; if (INSIDE_BEGIN_END(ctx))
- move.l a0,a1
- add.l #$E968,a1
- move.l (a1),d1
- cmp.l #$1A00,d1
- beq.b L165
- L164
- ; gl_error( ctx, GL_INVALID_OPERATION, "glLogicOp" );
- move.l #L162,-(a7)
- pea $502.w
- move.l a0,-(a7)
- jsr _gl_error
- add.w #$C,a7
- rts
- L165
- ; switch (opcode)
- move.l d0,d1
- sub.l #$1500,d1
- cmp.l #$F,d1
- bhi.b L167
- move.l L168(pc,d1.l*4),a1
- jmp (a1)
- L168
- dc.l L166
- dc.l L166
- dc.l L166
- dc.l L166
- dc.l L166
- dc.l L166
- dc.l L166
- dc.l L166
- dc.l L166
- dc.l L166
- dc.l L166
- dc.l L166
- dc.l L166
- dc.l L166
- dc.l L166
- dc.l L166
- ;
- L166
- ; ctx->Color.LogicOp = opcode;
- move.l d0,$220E(a0)
- ; ctx->NewState |= NEW_RASTER_OPS;
- move.l a0,a1
- add.l #$E960,a1
- move.l (a1),d0
- or.l #2,d0
- add.l #$E960,a0
- move.l d0,(a0)
- rts
- L167
- ; gl_error( ctx, GL_INVALID_ENUM, "glLogicOp" );
- move.l #L162,-(a7)
- pea $500.w
- move.l a0,-(a7)
- jsr _gl_error
- add.w #$C,a7
- rts
-
- L162
- dc.b 'glLogicOp',0
-
- SECTION "_index_logicop:0",CODE
-
- rts
-
- ;static void index_logicop( GLcontext *ctx, GLuint n,
- _index_logicop
- movem.l d2-d4/a2-a4,-(a7)
- movem.l $20(a7),d1/a0/a2
- move.l $2C(a7),a1
- move.l $1C(a7),a4
- L170
- ; switch (ctx->Color.LogicOp)
- move.l #$21C4,d0
- add.l a4,d0
- move.l d0,a3
- move.l $4A(a3),d0
- sub.l #$1500,d0
- cmp.l #$F,d0
- bhi L262
- move.l L264(pc,d0.l*4),a3
- jmp (a3)
- L264
- dc.l L171
- dc.l L202
- dc.l L238
- dc.l L183
- dc.l L244
- dc.l L190
- dc.l L226
- dc.l L214
- dc.l L220
- dc.l L232
- dc.l L196
- dc.l L250
- dc.l L184
- dc.l L256
- dc.l L208
- dc.l L177
- ;
- L171
- ; for (i=0;
- moveq #0,d0
- bra.b L175
- L172
- ; if (mask[i])
- tst.b 0(a1,d0.l)
- beq.b L174
- L173
- ; index[i] = 0;
- clr.l 0(a0,d0.l*4)
- L174
- addq.l #1,d0
- L175
- cmp.l d1,d0
- blo.b L172
- L176
- ;
- bra L263
- L177
- ; for (i=0;
- moveq #0,d0
- bra.b L181
- L178
- ; if (mask[i])
- tst.b 0(a1,d0.l)
- beq.b L180
- L179
- ; index[i] = 1;
- move.l #1,0(a0,d0.l*4)
- L180
- addq.l #1,d0
- L181
- cmp.l d1,d0
- blo.b L178
- L182
- ;
- bra L263
- L183
- ;
- bra L263
- L184
- ; for (i=0;
- moveq #0,d0
- bra.b L188
- L185
- ; if (mask[i])
- tst.b 0(a1,d0.l)
- beq.b L187
- L186
- ; index[i] = ~index[i];
- move.l 0(a0,d0.l*4),d2
- not.l d2
- move.l d2,0(a0,d0.l*4)
- L187
- addq.l #1,d0
- L188
- cmp.l d1,d0
- blo.b L185
- L189
- ;
- bra L263
- L190
- ; for (i=0;
- moveq #0,d0
- bra.b L194
- L191
- ; if (mask[i])
- move.l d0,d2
- add.l a1,d2
- move.l d2,a3
- tst.b (a3)
- beq.b L193
- L192
- ; index[i] = dest[i];
- move.l d0,d2
- asl.l #2,d2
- add.l a2,d2
- move.l d2,a3
- move.l (a3),d2
- move.l d0,d3
- asl.l #2,d3
- add.l a0,d3
- move.l d3,a3
- move.l d2,(a3)
- L193
- addq.l #1,d0
- L194
- cmp.l d1,d0
- blo.b L191
- L195
- ;
- bra L263
- L196
- ; for (i=0;
- moveq #0,d0
- bra.b L200
- L197
- ; if (mask[i])
- move.l d0,d2
- add.l a1,d2
- move.l d2,a3
- tst.b (a3)
- beq.b L199
- L198
- ; index[i] = ~dest[i];
- move.l d0,d2
- asl.l #2,d2
- add.l a2,d2
- move.l d2,a3
- move.l (a3),d2
- not.l d2
- move.l d0,d3
- asl.l #2,d3
- add.l a0,d3
- move.l d3,a3
- move.l d2,(a3)
- L199
- addq.l #1,d0
- L200
- cmp.l d1,d0
- blo.b L197
- L201
- ;
- bra L263
- L202
- ; for (i=0;
- moveq #0,d0
- bra.b L206
- L203
- ; if (mask[i])
- move.l d0,d2
- add.l a1,d2
- move.l d2,a3
- tst.b (a3)
- beq.b L205
- L204
- ; index[i] &= dest[i];
- move.l d0,d2
- asl.l #2,d2
- add.l a2,d2
- move.l d2,a3
- move.l (a3),d3
- move.l d0,d2
- asl.l #2,d2
- add.l a0,d2
- move.l d2,a4
- move.l a4,a3
- move.l (a3),d2
- and.l d3,d2
- move.l a4,a3
- move.l d2,(a3)
- L205
- addq.l #1,d0
- L206
- cmp.l d1,d0
- blo.b L203
- L207
- ;
- bra L263
- L208
- ; for (i=0;
- moveq #0,d0
- bra.b L212
- L209
- ; if (mask[i])
- move.l d0,d2
- add.l a1,d2
- move.l d2,a3
- tst.b (a3)
- beq.b L211
- L210
- ; index[i] = ~(index[i] & dest[i]);
- move.l d0,d2
- asl.l #2,d2
- add.l a0,d2
- move.l d2,a3
- move.l (a3),d2
- move.l d0,d3
- asl.l #2,d3
- add.l a2,d3
- move.l d3,a3
- and.l (a3),d2
- not.l d2
- move.l d0,d3
- asl.l #2,d3
- add.l a0,d3
- move.l d3,a3
- move.l d2,(a3)
- L211
- addq.l #1,d0
- L212
- cmp.l d1,d0
- blo.b L209
- L213
- ;
- bra L263
- L214
- ; for (i=0;
- moveq #0,d0
- bra.b L218
- L215
- ; if (mask[i])
- move.l d0,d2
- add.l a1,d2
- move.l d2,a3
- tst.b (a3)
- beq.b L217
- L216
- ; index[i] |= dest[i];
- move.l d0,d2
- asl.l #2,d2
- add.l a2,d2
- move.l d2,a3
- move.l (a3),d3
- move.l d0,d2
- asl.l #2,d2
- add.l a0,d2
- move.l d2,a4
- move.l a4,a3
- move.l (a3),d2
- or.l d3,d2
- move.l a4,a3
- move.l d2,(a3)
- L217
- addq.l #1,d0
- L218
- cmp.l d1,d0
- blo.b L215
- L219
- ;
- bra L263
- L220
- ; for (i=0;
- moveq #0,d0
- bra.b L224
- L221
- ; if (mask[i])
- move.l d0,d2
- add.l a1,d2
- move.l d2,a3
- tst.b (a3)
- beq.b L223
- L222
- ; index[i] = ~(index[i] | dest[i]);
- move.l d0,d2
- asl.l #2,d2
- add.l a0,d2
- move.l d2,a3
- move.l (a3),d2
- move.l d0,d3
- asl.l #2,d3
- add.l a2,d3
- move.l d3,a3
- or.l (a3),d2
- not.l d2
- move.l d0,d3
- asl.l #2,d3
- add.l a0,d3
- move.l d3,a3
- move.l d2,(a3)
- L223
- addq.l #1,d0
- L224
- cmp.l d1,d0
- blo.b L221
- L225
- ;
- bra L263
- L226
- ; for (i=0;
- moveq #0,d0
- bra.b L230
- L227
- ; if (mask[i])
- move.l d0,d2
- add.l a1,d2
- move.l d2,a3
- tst.b (a3)
- beq.b L229
- L228
- ; index[i] ^= dest[i];
- move.l d0,d2
- asl.l #2,d2
- add.l a2,d2
- move.l d2,a3
- move.l (a3),d3
- move.l d0,d2
- asl.l #2,d2
- add.l a0,d2
- move.l d2,a4
- move.l a4,a3
- move.l (a3),d2
- eor.l d3,d2
- move.l a4,a3
- move.l d2,(a3)
- L229
- addq.l #1,d0
- L230
- cmp.l d1,d0
- blo.b L227
- L231
- ;
- bra L263
- L232
- ; for (i=0;
- moveq #0,d0
- bra.b L236
- L233
- ; if (mask[i])
- move.l d0,d2
- add.l a1,d2
- move.l d2,a3
- tst.b (a3)
- beq.b L235
- L234
- ; index[i] = ~(index[i] ^ dest[i]);
- move.l d0,d2
- asl.l #2,d2
- add.l a0,d2
- move.l d2,a3
- move.l (a3),d2
- move.l d0,d3
- asl.l #2,d3
- add.l a2,d3
- move.l d3,a3
- move.l (a3),d3
- eor.l d3,d2
- not.l d2
- move.l d0,d3
- asl.l #2,d3
- add.l a0,d3
- move.l d3,a3
- move.l d2,(a3)
- L235
- addq.l #1,d0
- L236
- cmp.l d1,d0
- blo.b L233
- L237
- ;
- bra L263
- L238
- ; for (i=0;
- moveq #0,d0
- bra.b L242
- L239
- ; if (mask[i])
- move.l d0,d2
- add.l a1,d2
- move.l d2,a3
- tst.b (a3)
- beq.b L241
- L240
- ; index[i] = index[i] & ~dest[i];
- move.l d0,d2
- asl.l #2,d2
- add.l a0,d2
- move.l d2,a3
- move.l (a3),d2
- move.l d0,d3
- asl.l #2,d3
- add.l a2,d3
- move.l d3,a3
- move.l (a3),d3
- not.l d3
- and.l d3,d2
- move.l d0,d3
- asl.l #2,d3
- add.l a0,d3
- move.l d3,a3
- move.l d2,(a3)
- L241
- addq.l #1,d0
- L242
- cmp.l d1,d0
- blo.b L239
- L243
- ;
- bra L263
- L244
- ; for (i=0;
- moveq #0,d0
- bra.b L248
- L245
- ; if (mask[i])
- move.l d0,d2
- add.l a1,d2
- move.l d2,a3
- tst.b (a3)
- beq.b L247
- L246
- ; index[i] = ~index[i] & dest[i];
- move.l d0,d2
- asl.l #2,d2
- add.l a0,d2
- move.l d2,a3
- move.l (a3),d2
- not.l d2
- move.l d0,d3
- asl.l #2,d3
- add.l a2,d3
- move.l d3,a3
- and.l (a3),d2
- move.l d0,d3
- asl.l #2,d3
- add.l a0,d3
- move.l d3,a3
- move.l d2,(a3)
- L247
- addq.l #1,d0
- L248
- cmp.l d1,d0
- blo.b L245
- L249
- ;
- bra L263
- L250
- ; for (i=0;
- moveq #0,d0
- bra.b L254
- L251
- ; if (mask[i])
- move.l d0,d2
- add.l a1,d2
- move.l d2,a3
- tst.b (a3)
- beq.b L253
- L252
- ; index[i] = index[i] | ~dest[i];
- move.l d0,d2
- asl.l #2,d2
- add.l a0,d2
- move.l d2,a3
- move.l (a3),d2
- move.l d0,d3
- asl.l #2,d3
- add.l a2,d3
- move.l d3,a3
- move.l (a3),d3
- not.l d3
- or.l d3,d2
- move.l d0,d3
- asl.l #2,d3
- add.l a0,d3
- move.l d3,a3
- move.l d2,(a3)
- L253
- addq.l #1,d0
- L254
- cmp.l d1,d0
- blo.b L251
- L255
- ;
- bra.b L263
- L256
- ; for (i=0;
- moveq #0,d0
- bra.b L260
- L257
- ; if (mask[i])
- move.l d0,d2
- add.l a1,d2
- move.l d2,a3
- tst.b (a3)
- beq.b L259
- L258
- ; index[i] = ~index[i] | dest[i];
- move.l d0,d2
- asl.l #2,d2
- add.l a0,d2
- move.l d2,a3
- move.l (a3),d2
- not.l d2
- move.l d0,d3
- asl.l #2,d3
- add.l a2,d3
- move.l d3,a3
- or.l (a3),d2
- move.l d0,d3
- asl.l #2,d3
- add.l a0,d3
- move.l d3,a3
- move.l d2,(a3)
- L259
- addq.l #1,d0
- L260
- cmp.l d1,d0
- blo.b L257
- L261
- ;
- bra.b L263
- L262
- ; gl_error( ctx, GL_INVALID_ENUM, "gl_logic error" );
- move.l #L169,-(a7)
- pea $500.w
- move.l a4,-(a7)
- jsr _gl_error
- add.w #$C,a7
- L263
- movem.l (a7)+,d2-d4/a2-a4
- rts
-
- L169
- dc.b 'gl_logic error',0
-
- SECTION "_gl_logicop_ci_span:0",CODE
-
-
- ;void gl_logicop_ci_span( GLcontext *ctx, GLuint n, GLint x, GLint y,
- XDEF _gl_logicop_ci_span
- _gl_logicop_ci_span
- L266 EQU -$1900
- link a5,#L266
- movem.l d2/a2-a4,-(a7)
- movem.l $10(a5),d0/d1/a3/a4
- move.l $C(a5),d2
- move.l $8(a5),a2
- L265
- ; (*ctx->Driver.ReadCI32Span)( ctx, n, x, y, dest );
- pea -$1900(a5)
- move.l d1,-(a7)
- move.l d0,-(a7)
- move.l d2,-(a7)
- move.l a2,-(a7)
- move.l $94C(a2),a0
- jsr (a0)
- add.w #$14,a7
- ; index_logicop( ctx, n, index, dest, mask );
- move.l a4,-(a7)
- pea -$1900(a5)
- move.l a3,-(a7)
- move.l d2,-(a7)
- move.l a2,-(a7)
- jsr _index_logicop
- add.w #$14,a7
- movem.l (a7)+,d2/a2-a4
- unlk a5
- rts
-
- SECTION "_gl_logicop_ci_pixels:0",CODE
-
-
- ;void gl_logicop_ci_pixels( GLcontext *ctx,
- XDEF _gl_logicop_ci_pixels
- _gl_logicop_ci_pixels
- L268 EQU -$4B00
- link a5,#L268
- movem.l d2/a2-a4,-(a7)
- movem.l $C(a5),d2/a1
- move.l $8(a5),a2
- move.l $1C(a5),a3
- move.l $18(a5),a4
- L267
- ; (*ctx->Driver.ReadCI32Pixels)( ctx, n, x, y, dest, mask );
- move.l a3,-(a7)
- pea -$4B00(a5)
- move.l $14(a5),-(a7)
- move.l a1,-(a7)
- move.l d2,-(a7)
- move.l a2,-(a7)
- move.l $954(a2),a0
- jsr (a0)
- add.w #$18,a7
- ; index_logicop( ctx, n, index, dest, mask );
- move.l a3,-(a7)
- pea -$4B00(a5)
- move.l a4,-(a7)
- move.l d2,-(a7)
- move.l a2,-(a7)
- jsr _index_logicop
- add.w #$14,a7
- movem.l (a7)+,d2/a2-a4
- unlk a5
- rts
-
- SECTION "_rgba_logicop:0",CODE
-
-
- ;static void rgba_logicop( const GLcontext *ctx, GLuint n,
- _rgba_logicop
- movem.l d2-d4/a2-a4,-(a7)
- movem.l $20(a7),d1/a1
- movem.l $28(a7),a0/a2
- move.l $1C(a7),a4
- L270
- ; switch (ctx->Color.LogicOp)
- move.l #$21C4,d0
- add.l a4,d0
- move.l d0,a3
- move.l $4A(a3),d0
- sub.l #$1500,d0
- cmp.l #$F,d0
- bhi L362
- move.l L364(pc,d0.l*4),a3
- jmp (a3)
- L364
- dc.l L271
- dc.l L302
- dc.l L338
- dc.l L283
- dc.l L344
- dc.l L290
- dc.l L326
- dc.l L314
- dc.l L320
- dc.l L332
- dc.l L296
- dc.l L350
- dc.l L284
- dc.l L356
- dc.l L308
- dc.l L277
- ;
- L271
- ; for (i=0;
- moveq #0,d0
- bra.b L275
- L272
- ; if (mask[i])
- tst.b 0(a1,d0.l)
- beq.b L274
- L273
- ; src[i] = 0;
- clr.l 0(a0,d0.l*4)
- L274
- addq.l #1,d0
- L275
- cmp.l d1,d0
- blo.b L272
- L276
- ;
- bra L363
- L277
- ; for (i=0;
- moveq #0,d0
- bra.b L281
- L278
- ; if (mask[i])
- tst.b 0(a1,d0.l)
- beq.b L280
- L279
- ; src[i] = 0xffffffff;
- move.l #-1,0(a0,d0.l*4)
- L280
- addq.l #1,d0
- L281
- cmp.l d1,d0
- blo.b L278
- L282
- ;
- bra L363
- L283
- ;
- bra L363
- L284
- ; for (i=0;
- moveq #0,d0
- bra.b L288
- L285
- ; if (mask[i])
- tst.b 0(a1,d0.l)
- beq.b L287
- L286
- ; src[i] = ~src[i];
- move.l 0(a0,d0.l*4),d2
- not.l d2
- move.l d2,0(a0,d0.l*4)
- L287
- addq.l #1,d0
- L288
- cmp.l d1,d0
- blo.b L285
- L289
- ;
- bra L363
- L290
- ; for (i=0;
- moveq #0,d0
- bra.b L294
- L291
- ; if (mask[i])
- move.l d0,d2
- add.l a1,d2
- move.l d2,a3
- tst.b (a3)
- beq.b L293
- L292
- ; src[i] = dest[i];
- move.l d0,d2
- asl.l #2,d2
- add.l a2,d2
- move.l d2,a3
- move.l (a3),d2
- move.l d0,d3
- asl.l #2,d3
- add.l a0,d3
- move.l d3,a3
- move.l d2,(a3)
- L293
- addq.l #1,d0
- L294
- cmp.l d1,d0
- blo.b L291
- L295
- ;
- bra L363
- L296
- ; for (i=0;
- moveq #0,d0
- bra.b L300
- L297
- ; if (mask[i])
- move.l d0,d2
- add.l a1,d2
- move.l d2,a3
- tst.b (a3)
- beq.b L299
- L298
- ; src[i] = ~dest[i];
- move.l d0,d2
- asl.l #2,d2
- add.l a2,d2
- move.l d2,a3
- move.l (a3),d2
- not.l d2
- move.l d0,d3
- asl.l #2,d3
- add.l a0,d3
- move.l d3,a3
- move.l d2,(a3)
- L299
- addq.l #1,d0
- L300
- cmp.l d1,d0
- blo.b L297
- L301
- ;
- bra L363
- L302
- ; for (i=0;
- moveq #0,d0
- bra.b L306
- L303
- ; if (mask[i])
- move.l d0,d2
- add.l a1,d2
- move.l d2,a3
- tst.b (a3)
- beq.b L305
- L304
- ; src[i] &= dest[i];
- move.l d0,d2
- asl.l #2,d2
- add.l a2,d2
- move.l d2,a3
- move.l (a3),d3
- move.l d0,d2
- asl.l #2,d2
- add.l a0,d2
- move.l d2,a4
- move.l a4,a3
- move.l (a3),d2
- and.l d3,d2
- move.l a4,a3
- move.l d2,(a3)
- L305
- addq.l #1,d0
- L306
- cmp.l d1,d0
- blo.b L303
- L307
- ;
- bra L363
- L308
- ; for (i=0;
- moveq #0,d0
- bra.b L312
- L309
- ; if (mask[i])
- tst.b 0(a1,d0.l)
- beq.b L311
- L310
- ; src[i] = ~(src[i] & src[i]);
- move.l 0(a0,d0.l*4),d2
- and.l 0(a0,d0.l*4),d2
- not.l d2
- move.l d2,0(a0,d0.l*4)
- L311
- addq.l #1,d0
- L312
- cmp.l d1,d0
- blo.b L309
- L313
- ;
- bra L363
- L314
- ; for (i=0;
- moveq #0,d0
- bra.b L318
- L315
- ; if (mask[i])
- move.l d0,d2
- add.l a1,d2
- move.l d2,a3
- tst.b (a3)
- beq.b L317
- L316
- ; src[i]|= dest[i];
- move.l d0,d2
- asl.l #2,d2
- add.l a2,d2
- move.l d2,a3
- move.l (a3),d3
- move.l d0,d2
- asl.l #2,d2
- add.l a0,d2
- move.l d2,a4
- move.l a4,a3
- move.l (a3),d2
- or.l d3,d2
- move.l a4,a3
- move.l d2,(a3)
- L317
- addq.l #1,d0
- L318
- cmp.l d1,d0
- blo.b L315
- L319
- ;
- bra L363
- L320
- ; for (i=0;
- moveq #0,d0
- bra.b L324
- L321
- ; if (mask[i])
- move.l d0,d2
- add.l a1,d2
- move.l d2,a3
- tst.b (a3)
- beq.b L323
- L322
- ; src[i] = ~(src[i] | dest[i]);
- move.l d0,d2
- asl.l #2,d2
- add.l a0,d2
- move.l d2,a3
- move.l (a3),d2
- move.l d0,d3
- asl.l #2,d3
- add.l a2,d3
- move.l d3,a3
- or.l (a3),d2
- not.l d2
- move.l d0,d3
- asl.l #2,d3
- add.l a0,d3
- move.l d3,a3
- move.l d2,(a3)
- L323
- addq.l #1,d0
- L324
- cmp.l d1,d0
- blo.b L321
- L325
- ;
- bra L363
- L326
- ; for (i=0;
- moveq #0,d0
- bra.b L330
- L327
- ; if (mask[i])
- move.l d0,d2
- add.l a1,d2
- move.l d2,a3
- tst.b (a3)
- beq.b L329
- L328
- ; src[i] ^= dest[i];
- move.l d0,d2
- asl.l #2,d2
- add.l a2,d2
- move.l d2,a3
- move.l (a3),d3
- move.l d0,d2
- asl.l #2,d2
- add.l a0,d2
- move.l d2,a4
- move.l a4,a3
- move.l (a3),d2
- eor.l d3,d2
- move.l a4,a3
- move.l d2,(a3)
- L329
- addq.l #1,d0
- L330
- cmp.l d1,d0
- blo.b L327
- L331
- ;
- bra L363
- L332
- ; for (i=0;
- moveq #0,d0
- bra.b L336
- L333
- ; if (mask[i])
- move.l d0,d2
- add.l a1,d2
- move.l d2,a3
- tst.b (a3)
- beq.b L335
- L334
- ; src[i] = ~(src[i] ^ dest[i]);
- move.l d0,d2
- asl.l #2,d2
- add.l a0,d2
- move.l d2,a3
- move.l (a3),d2
- move.l d0,d3
- asl.l #2,d3
- add.l a2,d3
- move.l d3,a3
- move.l (a3),d3
- eor.l d3,d2
- not.l d2
- move.l d0,d3
- asl.l #2,d3
- add.l a0,d3
- move.l d3,a3
- move.l d2,(a3)
- L335
- addq.l #1,d0
- L336
- cmp.l d1,d0
- blo.b L333
- L337
- ;
- bra L363
- L338
- ; for (i=0;
- moveq #0,d0
- bra.b L342
- L339
- ; if (mask[i])
- move.l d0,d2
- add.l a1,d2
- move.l d2,a3
- tst.b (a3)
- beq.b L341
- L340
- ; src[i] = src[i] & ~dest[i];
- move.l d0,d2
- asl.l #2,d2
- add.l a0,d2
- move.l d2,a3
- move.l (a3),d2
- move.l d0,d3
- asl.l #2,d3
- add.l a2,d3
- move.l d3,a3
- move.l (a3),d3
- not.l d3
- and.l d3,d2
- move.l d0,d3
- asl.l #2,d3
- add.l a0,d3
- move.l d3,a3
- move.l d2,(a3)
- L341
- addq.l #1,d0
- L342
- cmp.l d1,d0
- blo.b L339
- L343
- ;
- bra L363
- L344
- ; for (i=0;
- moveq #0,d0
- bra.b L348
- L345
- ; if (mask[i])
- move.l d0,d2
- add.l a1,d2
- move.l d2,a3
- tst.b (a3)
- beq.b L347
- L346
- ; src[i] = ~src[i] & dest[i];
- move.l d0,d2
- asl.l #2,d2
- add.l a0,d2
- move.l d2,a3
- move.l (a3),d2
- not.l d2
- move.l d0,d3
- asl.l #2,d3
- add.l a2,d3
- move.l d3,a3
- and.l (a3),d2
- move.l d0,d3
- asl.l #2,d3
- add.l a0,d3
- move.l d3,a3
- move.l d2,(a3)
- L347
- addq.l #1,d0
- L348
- cmp.l d1,d0
- blo.b L345
- L349
- ;
- bra L363
- L350
- ; for (i=0;
- moveq #0,d0
- bra.b L354
- L351
- ; if (mask[i])
- move.l d0,d2
- add.l a1,d2
- move.l d2,a3
- tst.b (a3)
- beq.b L353
- L352
- ; src[i] = src[i] | ~dest[i];
- move.l d0,d2
- asl.l #2,d2
- add.l a0,d2
- move.l d2,a3
- move.l (a3),d2
- move.l d0,d3
- asl.l #2,d3
- add.l a2,d3
- move.l d3,a3
- move.l (a3),d3
- not.l d3
- or.l d3,d2
- move.l d0,d3
- asl.l #2,d3
- add.l a0,d3
- move.l d3,a3
- move.l d2,(a3)
- L353
- addq.l #1,d0
- L354
- cmp.l d1,d0
- blo.b L351
- L355
- ;
- bra.b L363
- L356
- ; for (i=0;
- moveq #0,d0
- bra.b L360
- L357
- ; if (mask[i])
- move.l d0,d2
- add.l a1,d2
- move.l d2,a3
- tst.b (a3)
- beq.b L359
- L358
- ; src[i] = ~src[i] | dest[i];
- move.l d0,d2
- asl.l #2,d2
- add.l a0,d2
- move.l d2,a3
- move.l (a3),d2
- not.l d2
- move.l d0,d3
- asl.l #2,d3
- add.l a2,d3
- move.l d3,a3
- or.l (a3),d2
- move.l d0,d3
- asl.l #2,d3
- add.l a0,d3
- move.l d3,a3
- move.l d2,(a3)
- L359
- addq.l #1,d0
- L360
- cmp.l d1,d0
- blo.b L357
- L361
- ;
- bra.b L363
- L362
- ; gl_problem(ctx, "Bad function in rgba_logicop");
- move.l #L269,-(a7)
- move.l a4,-(a7)
- jsr _gl_problem
- addq.w #$8,a7
- L363
- movem.l (a7)+,d2-d4/a2-a4
- rts
-
- L269
- dc.b 'Bad function in rgba_logicop',0
-
- SECTION "_gl_logicop_rgba_span:0",CODE
-
-
- ;void gl_logicop_rgba_span( GLcontext *ctx,
- XDEF _gl_logicop_rgba_span
- _gl_logicop_rgba_span
- L366 EQU -$1900
- link a5,#L366
- movem.l d2/a2-a4,-(a7)
- movem.l $10(a5),d0/d1/a4
- move.l $C(a5),d2
- move.l $8(a5),a2
- move.l $1C(a5),a3
- L365
- ; gl_read_rgba_span( ctx, n, x, y, dest );
- pea -$1900(a5)
- move.l d1,-(a7)
- move.l d0,-(a7)
- move.l d2,-(a7)
- move.l a2,-(a7)
- jsr _gl_read_rgba_span
- add.w #$14,a7
- ; rgba_logicop( ctx, n, mask, (GLuint *) rgba, (const GLuint *)
- pea -$1900(a5)
- move.l a4,-(a7)
- move.l a3,-(a7)
- move.l d2,-(a7)
- move.l a2,-(a7)
- jsr _rgba_logicop
- add.w #$14,a7
- movem.l (a7)+,d2/a2-a4
- unlk a5
- rts
-
- SECTION "_gl_logicop_rgba_pixels:0",CODE
-
-
- ;void gl_logicop_rgba_pixels( GLcontext *ctx,
- XDEF _gl_logicop_rgba_pixels
- _gl_logicop_rgba_pixels
- L370 EQU -$4B00
- link a5,#L370
- movem.l d2/a2-a4,-(a7)
- movem.l $C(a5),d2/a4
- move.l $8(a5),a2
- move.l $1C(a5),a3
- L367
- ; (*ctx->Driver.ReadRGBAPixels)( ctx, n, x, y, dest, mask );
- move.l a3,-(a7)
- pea -$4B00(a5)
- move.l $14(a5),-(a7)
- move.l a4,-(a7)
- move.l d2,-(a7)
- move.l a2,-(a7)
- move.l $958(a2),a0
- jsr (a0)
- add.w #$18,a7
- ; if (ctx->RasterMask & ALPHABUF_BIT)
- move.l a2,a0
- add.l #$E974,a0
- move.l (a0),d0
- and.l #$100,d0
- beq.b L369
- L368
- ; gl_read_alpha_pixels( ctx, n, x, y, dest, mask );
- move.l a3,-(a7)
- pea -$4B00(a5)
- move.l $14(a5),-(a7)
- move.l a4,-(a7)
- move.l d2,-(a7)
- move.l a2,-(a7)
- jsr _gl_read_alpha_pixels
- add.w #$18,a7
- L369
- ; rgba_logicop( ctx, n, mask, (GLuint *) rgba, (const GLuint *)
- pea -$4B00(a5)
- move.l $18(a5),-(a7)
- move.l a3,-(a7)
- move.l d2,-(a7)
- move.l a2,-(a7)
- jsr _rgba_logicop
- add.w #$14,a7
- movem.l (a7)+,d2/a2-a4
- unlk a5
- rts
-
- END
-